#include "pch.h"
#include "custombattledeletetask.h"
#include "util.h"
#include "utildb/sqlbuilder.h"
#include "crpc.h"

CustomBattleDeleteTask::CustomBattleDeleteTask()
	:CMysqlTask("CustomBattleDeleteTask")
{
	m_uid = 0;
}

CustomBattleDeleteTask::~CustomBattleDeleteTask()
{

}

void CustomBattleDeleteTask::Execute(IMysqlConn* poMysqlConn, char* pcBuffer, INT32 nLength)
{
	SetMysqlError(MYSQL_ERR_FAILED);

	std::stringstream ss;
	ss << "delete from custombattle where _id=" << m_uid;

	if(!poMysqlConn->Query(ss.str().c_str(), ss.str().size(), NULL))
	{
		GetErrStream() << "ErrDesc: " << poMysqlConn->GetError() << ", ErrNo: " << poMysqlConn->GetErrno();
		return;
	}

	SetMysqlError(MYSQL_ERR_SUCESS);
}

void CustomBattleDeleteTask::OnReply()
{
	if(m_nMysqlErr != MYSQL_ERR_SUCESS)
	{
		LogError("Task Failed, errMsg: %s", GetErrStream().str().c_str());
	}
	else
	{
		SSInfo<<"delete uid:"<<m_uid<<" succeed"<<END;
	}
}

CustomBattleDeleteTask2::CustomBattleDeleteTask2()
	:DBTaskBase("CustomBattleDeleteTask")
{
	m_uid = 0;
}

CustomBattleDeleteTask2::~CustomBattleDeleteTask2()
{

}

// void CustomBattleDeleteTask2::Execute(IMysqlConn* poMysqlConn, char* pcBuffer, INT32 nLength)
// {
// 	SetMysqlError(MYSQL_ERR_FAILED);
// 
// 	std::stringstream ss;
// 	ss << "delete from custombattle where _id=" << m_uid;
// 
// 	if (!poMysqlConn->Query(ss.str().c_str(), ss.str().size(), NULL))
// 	{
// 		GetErrStream() << "ErrDesc: " << poMysqlConn->GetError() << ", ErrNo: " << poMysqlConn->GetErrno();
// 		return;
// 	}
// 
// 	SetMysqlError(MYSQL_ERR_SUCESS);
// }

// void CustomBattleDeleteTask2::OnReply()
// {
// 	if (m_nMysqlErr != MYSQL_ERR_SUCESS)
// 	{
// 		LogError("Task Failed, errMsg: %s", GetErrStream().str().c_str());
// 	}
// 	else
// 	{
// 		SSInfo << "delete uid:" << m_uid << " succeed" << END;
// 	}
// }

bool CustomBattleDeleteTask2::db_thread_process()
{
	char* pcBuffer = pdbi_->GetEscapStringBuff();
	SetMysqlError(MYSQL_ERR_FAILED);

	std::stringstream ss;
	ss << "delete from custombattle where _id=" << m_uid;

	if (!pdbi_->Query(ss.str().c_str(), ss.str().size(), NULL))
	{
		GetErrStream() << "ErrDesc: " << pdbi_->GetError() << ", ErrNo: " << pdbi_->GetErrno();
		return false;
	}

	SetMysqlError(MYSQL_ERR_SUCESS);
	return false;
}

thread::TPTask::TPTaskState CustomBattleDeleteTask2::presentMainThread()
{
	if (m_nMysqlErr != MYSQL_ERR_SUCESS)
	{
		LogError("Task Failed, errMsg: %s", GetErrStream().str().c_str());
	}
	else
	{
		SSInfo << "delete uid:" << m_uid << " succeed" << END;
	}
	return DBTaskBase::presentMainThread()/*thread::TPTask::TPTASK_STATE_COMPLETED*/;
}